package edu.eam.proyectodesarrollojpa.entidades;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
/**
 * The persistent class for the TENE_PAIS database table.
 * 
 */
@Entity
@Table(name = "SEMILLERO_INVESTIGACION")
public class Semillero implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@SequenceGenerator(allocationSize = 1, name = "SEMILLERO_INVESTIGACION_IDSEMILLERO_GENERATOR", sequenceName = "SEC_SEMILLERO_INVESTIGACION")
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEMILLERO_INVESTIGACION_IDSEMILLERO_GENERATOR")
	@Column(name = "IDSEMILLERO")
	private Long idSemillero;
	
	@Column(name = "NOMBRE_SEMILLERO")
	private String nombre;
	
	@Column(name = "DESCRIPCION_SEMILLERO")
	private String descripcion;
	
    @Temporal( TemporalType.TIMESTAMP)
	@Column(name = "FECHA_CREACION_SEMILLERO")
	private Date fechaCreacion;
	
	// uni-directional many-to-one association to TipoAlternativaInversion
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "TEMA_LINEA_SEMILLERO")
	private TemasLinea tema;


	public Semillero() {
	}


	/**
	 * Metodo encargado de retornar el valor del atributo idSemillero
	 * @return El idSemillero asociado a la clase
	 */
	public Long getIdSemillero() {
		return idSemillero;
	}


	/**
	 * Metodo encargado de modificar el valor del atributo idSemillero
	 * @param idSemillero El nuevo idSemillero a modificar.
	 */
	public void setIdSemillero(Long idSemillero) {
		this.idSemillero = idSemillero;
	}


	/**
	 * Metodo encargado de retornar el valor del atributo nombre
	 * @return El nombre asociado a la clase
	 */
	public String getNombre() {
		return nombre;
	}


	/**
	 * Metodo encargado de modificar el valor del atributo nombre
	 * @param nombre El nuevo nombre a modificar.
	 */
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}


	/**
	 * Metodo encargado de retornar el valor del atributo descripcion
	 * @return El descripcion asociado a la clase
	 */
	public String getDescripcion() {
		return descripcion;
	}


	/**
	 * Metodo encargado de modificar el valor del atributo descripcion
	 * @param descripcion El nuevo descripcion a modificar.
	 */
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}


	/**
	 * Metodo encargado de retornar el valor del atributo fechaCreacion
	 * @return El fechaCreacion asociado a la clase
	 */
	public Date getFechaCreacion() {
		return fechaCreacion;
	}


	/**
	 * Metodo encargado de modificar el valor del atributo fechaCreacion
	 * @param fechaCreacion El nuevo fechaCreacion a modificar.
	 */
	public void setFechaCreacion(Date fechaCreacion) {
		this.fechaCreacion = fechaCreacion;
	}


	/**
	 * Metodo encargado de retornar el valor del atributo tema
	 * @return El tema asociado a la clase
	 */
	public TemasLinea getTema() {
		return tema;
	}


	/**
	 * Metodo encargado de modificar el valor del atributo tema
	 * @param tema El nuevo tema a modificar.
	 */
	public void setTema(TemasLinea tema) {
		this.tema = tema;
	}

	
	

	
	
	
	
}